package org.jeecg.modules.business.doc.outbound.entity.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 通过出库任务id查询出库任务物料对应出库单物料相同字段
 *
 * @author zhoutong
 */
@Data
public class ListByOutboundIdResponseVO implements Serializable {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**
     * 出库状态
     */
    @Excel(name = "出库状态", width = 15)
    @ApiModelProperty(value = "出库状态")
    private String outboundStatus;
    /**
     * 检验状态
     */
    @Excel(name = "检验状态", width = 15)
    @ApiModelProperty(value = "检验状态")
    private String inspectStatus;
    /**
     * 检验结果
     */
    @Excel(name = "检验结果", width = 15)
    @ApiModelProperty(value = "检验结果")
    private String inspectResult;
    /**
     * 物料id
     */
    @ApiModelProperty(value = "物料id")
    private String wmsBasicMaterialId;
    /**
     * 物料名称
     */
    @Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    /**
     * 物料编码
     */
    @Excel(name = "物料编码", width = 15)
    @ApiModelProperty(value = "物料编码")
    private String materialCode;
    /**
     * 规格型号
     */
    @Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String specification;
    /**
     * 批次号
     */
    @Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    private String batchCode;
    /**
     * 计划数量
     */
    @Excel(name = "计划数量", width = 15)
    @ApiModelProperty(value = "计划数量")
    private String planQuantity;
    /**
     * 已出库数量
     */
    @Excel(name = "已出库数量", width = 15)
    @ApiModelProperty(value = "已出库数量")
    private String outboundQuantity;
    /**
     * 未出库数量
     */
    @Excel(name = "未出库数量", width = 15)
    @ApiModelProperty(value = "未出库数量")
    private String unoutboundQuantity;
    /**
     * 库存单位
     */
    @Excel(name = "库存单位", width = 15)
    @Dict(dictTable = "wms_basic_unit",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "库存单位")
    private String wmsBasicUnitId;
    /**
     * 仓库
     */
    @Excel(name = "仓库", width = 15)
    @Dict(dictTable = "wms_basic_warehouse",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "仓库")
    private String wmsBasicWarehouseId;
    /**
     * 库区
     */
    @Excel(name = "库区", width = 15)
    @Dict(dictTable = "wms_basic_warehouse_area",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "库区")
    private String wmsBasicWarehouseAreaId;
    /**
     * 库位
     */
    @Excel(name = "库位", width = 15)
    @Dict(dictTable = "wms_basic_warehouse_area_location",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "库位")
    private String wmsBasicWarehouseAreaLocationId;
    /**
     * 辅数量
     */
    @Excel(name = "辅数量", width = 15)
    @ApiModelProperty(value = "辅数量")
    private String assistQuantity;
    /**
     * 钢卷号
     */
    @Excel(name = "钢卷号", width = 15)
    @ApiModelProperty(value = "钢卷号")
    private String steelCoilNumber;
    /**
     * 外径
     */
    @Excel(name = "外径", width = 15)
    @ApiModelProperty(value = "外径")
    private String outsideDiameter;
    /**
     * 宽度
     */
    @Excel(name = "宽度", width = 15)
    @ApiModelProperty(value = "宽度")
    private String width;
    /**
     * 长度
     */
    @Excel(name = "长度", width = 15)
    @ApiModelProperty(value = "长度")
    private String length;
    /**
     * 厚度
     */
    @Excel(name = "厚度", width = 15)
    @ApiModelProperty(value = "厚度")
    private String thickness;
    /**
     * 牌号
     */
    @Excel(name = "牌号", width = 15)
    @ApiModelProperty(value = "牌号")
    private String shopSign;
    /**
     * 外观等级
     */
    @Excel(name = "外观等级", width = 15)
    @ApiModelProperty(value = "外观等级")
    private String appearanceGrade;
    /**
     * 铁损
     */
    @Excel(name = "铁损", width = 15)
    @ApiModelProperty(value = "铁损")
    private String ironLoss;
    /**
     * 实测片厚
     */
    @Excel(name = "实测片厚", width = 15)
    @ApiModelProperty(value = "实测片厚")
    private String measuredThickness;
    /**
     * 实测铁损
     */
    @Excel(name = "实测铁损", width = 15)
    @ApiModelProperty(value = "实测铁损")
    private String measuredIronLoss;
    /**
     * 硅钢等级
     */
    @Excel(name = "硅钢等级", width = 15)
    @ApiModelProperty(value = "硅钢等级")
    private String siliconGrade;
    /**
     * 刻痕
     */
    @Excel(name = "刻痕", width = 15)
    @ApiModelProperty(value = "刻痕")
    private String score;
    /**
     * 原始净重
     */
    @Excel(name = "原始净重", width = 15)
    @ApiModelProperty(value = "原始净重")
    private String originalWeight;
    /**
     * 实称净重
     */
    @Excel(name = "实称净重", width = 15)
    @ApiModelProperty(value = "实称净重")
    private String measuredWeight;
    /**
     * 载具
     */
    @Excel(name = "载具", width = 15)
    @ApiModelProperty(value = "载具")
    private String vehicle;
    /**
     * 毛重
     */
    @Excel(name = "毛重", width = 15)
    @ApiModelProperty(value = "毛重")
    private String grossWeight;
    /**
     * 实测空载损耗
     */
    @Excel(name = "实测空载损耗", width = 15)
    @ApiModelProperty(value = "实测空载损耗")
    private String measuredNoloadLoss;
    /**
     * 实测噪音
     */
    @Excel(name = "实测噪音", width = 15)
    @ApiModelProperty(value = "实测噪音")
    private String measuredNoise;
    /**
     * 实测电流
     */
    @Excel(name = "实测电流", width = 15)
    @ApiModelProperty(value = "实测电流")
    private String measuredCurrent;
    /**
     * 预计出库时间
     */
    @Excel(name = "预计出库时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "预计出库时间")
    private Date expectedOutboundTime;
    /**
     * 序列号
     */
    @Excel(name = "序列号", width = 15)
    @ApiModelProperty(value = "序列号")
    private String serialNumber;
    /**
     * 销售出库质检
     */
    @Excel(name = "销售出库质检", width = 15)
    @ApiModelProperty(value = "销售出库质检")
    private String outboundQuality;
    /**
     * 销售订单号
     */
    @Excel(name = "销售订单号", width = 15)
    @ApiModelProperty(value = "销售订单号")
    private String saleOrderNumber;
    /**
     * 销售订单行号
     */
    @Excel(name = "销售订单行号", width = 15)
    @ApiModelProperty(value = "销售订单行号")
    private String saleOrderLineNumber;
    /**
     * 生产工单号
     */
    @Excel(name = "生产工单号", width = 15)
    @ApiModelProperty(value = "生产工单号")
    private String productNumber;
    /**
     * 生产工单行号
     */
    @Excel(name = "生产工单行号", width = 15)
    @ApiModelProperty(value = "生产工单行号")
    private String productLineNumber;
    /**
     * 来源系统单号
     */
    @Excel(name = "来源系统单号", width = 15)
    @ApiModelProperty(value = "来源系统单号")
    private String originalSystemNumber;
    /**
     * 来源系统行号
     */
    @Excel(name = "来源系统行号", width = 15)
    @ApiModelProperty(value = "来源系统行号")
    private String originalSystemLineNumber;
    /**
     * 已出库数量（辅数量）
     */
    @Excel(name = "已出库数量（辅数量）", width = 15)
    @ApiModelProperty(value = "已出库数量（辅数量）")
    private String outboundQuantityAssist;
    /**
     * 未出库数量（辅数量
     */
    @Excel(name = "未出库数量（辅数量", width = 15)
    @ApiModelProperty(value = "未出库数量（辅数量")
    private String unoutboundQuantityAssist;
    /**
     * 辅单位
     */
    @Excel(name = "辅单位", width = 15)
    @Dict(dictTable = "wms_basic_unit",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "辅单位")
    private String unitAssist;
    /**
     * 出库任务id
     */
    @ApiModelProperty(value = "出库任务id")
    private String wmsOutReceiptTaskId;
    /**
     * 逻辑删除
     */
    @Excel(name = "逻辑删除", width = 15)
    @ApiModelProperty(value = "逻辑删除")
    @TableLogic
    private Integer delFlag;
    /**
     * 租户id
     */
    @Excel(name = "租户id", width = 15)
    @ApiModelProperty(value = "租户id")
    private Integer tenantId;

    /**
     * 客户单号
     */
    @ApiModelProperty("客户单号")
    private String customerOrderNumber;

    @ApiModelProperty("车牌号")
    private String carNumber;

    /**
     * 规格型号
     */
    @ApiModelProperty(value = "规格型号")
    private String specificationModel;

}
